Socket
Socket
Sign inDemoInstall

get-workspaces

Package Overview
Dependencies
Maintainers
3
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

get-workspaces

Get workspaces for yarn workspaces, bolt workspaces, or the root package for building repo-agnostic tools


Version published
Weekly downloads
8.9K
decreased by-10.45%
Maintainers
3
Weekly downloads
 
Created
Source

Get Workspaces

A simple utility to get workspaces, whether they be yarn or bolt.

This library exports a very simple function that looks at a package.json, and generates the glob of accepted workspaces from the workspaces field. It is intended mostly for use of developers building tools that want to support both kinds of mono-repos as an easy way to write tools for both.

import getWorkspaces from "get-workspaces";

const workspaces = await getWorkspaces();

Workspaces have the shape:

{
    name // The name from the package.json
    config // The package.json of the package
    dir // The directory of the package
}

Config

We assume the function is being run from a directory with the package.json you want to target, however you can pass in a working directory if you want. In addition, you can change what tools the package will scan for.

const workspaces = await getWorkspaces({ cwd, tools });

The tools supported are yarn, bolt, pnpm and root, which returns the root package as a single workspace if passed. Tools is an array, so you can try for one type of workspace and then another, so you could do:

getWorkspaces({ tools: ["bolt", "yarn", "pnpm", "root"] });

FAQs

Package last updated on 24 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc